/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.entry.entity;

import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.thinkgem.jeesite.common.persistence.DataEntity;

/**
 * 入库单Entity
 * @author alex
 * @version 2017-05-04
 */
public class EntryBillHeader extends DataEntity<EntryBillHeader> {
	
	private static final long serialVersionUID = 1L;
	private String no;		// 入库单号
	private String enBillType;		// 入库单类型
	private String publishBillId;		// 采购单ID
	private String publishBillNo;		// 采购单号
	private String supplierId;		// 供应商ID
	private String supplierName;		// 供应商
	private Date arrivalDate;		// 实际到货时间
	private Date receiveDate;		// 开始收货时间
	private Date closeDate;		// 关闭时间
	private String boxNum;		// 总箱数
	private String pieceNum;		// 总件数
	private String isBatch;		// 是否分批
	private String wareHouseId;		// 入库仓库ID
	private String wareHouseName;		// 入库仓库
	private String checker;		// checker
	private Date checkDate;		// check_date
	private String status;		// 状态
	private String auditBy;		// 审核人ID
	private String auditName;		// 审核人
	private Date auditDate;		// 审核人时间
	private String createName;		// 创建人
	private String updateName;		// 更新人
	
	public EntryBillHeader() {
		super();
	}

	public EntryBillHeader(String id){
		super(id);
	}

	@Length(min=0, max=30, message="入库单号长度必须介于 0 和 30 之间")
	public String getNo() {
		return no;
	}

	public void setNo(String no) {
		this.no = no;
	}
	
	@Length(min=0, max=1, message="入库单类型长度必须介于 0 和 1 之间")
	public String getEnBillType() {
		return enBillType;
	}

	public void setEnBillType(String enBillType) {
		this.enBillType = enBillType;
	}
	
	@Length(min=0, max=30, message="采购单ID长度必须介于 0 和 30 之间")
	public String getPublishBillId() {
		return publishBillId;
	}

	public void setPublishBillId(String publishBillId) {
		this.publishBillId = publishBillId;
	}
	
	@Length(min=0, max=30, message="采购单号长度必须介于 0 和 30 之间")
	public String getPublishBillNo() {
		return publishBillNo;
	}

	public void setPublishBillNo(String publishBillNo) {
		this.publishBillNo = publishBillNo;
	}
	
	@Length(min=0, max=30, message="供应商ID长度必须介于 0 和 30 之间")
	public String getSupplierId() {
		return supplierId;
	}

	public void setSupplierId(String supplierId) {
		this.supplierId = supplierId;
	}
	
	@Length(min=0, max=50, message="供应商长度必须介于 0 和 50 之间")
	public String getSupplierName() {
		return supplierName;
	}

	public void setSupplierName(String supplierName) {
		this.supplierName = supplierName;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getArrivalDate() {
		return arrivalDate;
	}

	public void setArrivalDate(Date arrivalDate) {
		this.arrivalDate = arrivalDate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getReceiveDate() {
		return receiveDate;
	}

	public void setReceiveDate(Date receiveDate) {
		this.receiveDate = receiveDate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getCloseDate() {
		return closeDate;
	}

	public void setCloseDate(Date closeDate) {
		this.closeDate = closeDate;
	}
	
	@Length(min=0, max=11, message="总箱数长度必须介于 0 和 11 之间")
	public String getBoxNum() {
		return boxNum;
	}

	public void setBoxNum(String boxNum) {
		this.boxNum = boxNum;
	}
	
	@Length(min=0, max=11, message="总件数长度必须介于 0 和 11 之间")
	public String getPieceNum() {
		return pieceNum;
	}

	public void setPieceNum(String pieceNum) {
		this.pieceNum = pieceNum;
	}
	
	@Length(min=0, max=1, message="是否分批长度必须介于 0 和 1 之间")
	public String getIsBatch() {
		return isBatch;
	}

	public void setIsBatch(String isBatch) {
		this.isBatch = isBatch;
	}
	
	@Length(min=0, max=30, message="入库仓库ID长度必须介于 0 和 30 之间")
	public String getWareHouseId() {
		return wareHouseId;
	}

	public void setWareHouseId(String wareHouseId) {
		this.wareHouseId = wareHouseId;
	}
	
	@Length(min=0, max=50, message="入库仓库长度必须介于 0 和 50 之间")
	public String getWareHouseName() {
		return wareHouseName;
	}

	public void setWareHouseName(String wareHouseName) {
		this.wareHouseName = wareHouseName;
	}
	
	@Length(min=0, max=50, message="checker长度必须介于 0 和 50 之间")
	public String getChecker() {
		return checker;
	}

	public void setChecker(String checker) {
		this.checker = checker;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getCheckDate() {
		return checkDate;
	}

	public void setCheckDate(Date checkDate) {
		this.checkDate = checkDate;
	}
	
	@Length(min=0, max=1, message="状态长度必须介于 0 和 1 之间")
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}
	
	@Length(min=0, max=30, message="审核人ID长度必须介于 0 和 30 之间")
	public String getAuditBy() {
		return auditBy;
	}

	public void setAuditBy(String auditBy) {
		this.auditBy = auditBy;
	}
	
	@Length(min=0, max=30, message="审核人长度必须介于 0 和 30 之间")
	public String getAuditName() {
		return auditName;
	}

	public void setAuditName(String auditName) {
		this.auditName = auditName;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getAuditDate() {
		return auditDate;
	}

	public void setAuditDate(Date auditDate) {
		this.auditDate = auditDate;
	}
	
	@Length(min=0, max=30, message="创建人长度必须介于 0 和 30 之间")
	public String getCreateName() {
		return createName;
	}

	public void setCreateName(String createName) {
		this.createName = createName;
	}
	
	@Length(min=0, max=30, message="更新人长度必须介于 0 和 30 之间")
	public String getUpdateName() {
		return updateName;
	}

	public void setUpdateName(String updateName) {
		this.updateName = updateName;
	}
	
}